Modern networking describes the ability of electronic devices to communicate with other devices. Some authorities, in fact, define networking in terms of communication between nodes.
Modern networks generally communicate via a set of protocols, one of these being TCP/IP, which stands for Transmission Control Protocol/Internet Protocol. TCP/IP is a suite of communication protocols used to connect hosts on the Internet. TCP/IP uses several protocols, the two main ones, of course, being TCP and IP. TCP/IP is the de facto standard for transmitting data over many networks including the open Internet. Network operating systems that have their own proprietary protocols also support TCP/IP enabling communication between different systems.
TCP is, as stated above, an abbreviation of Transmission Control Protocol. TCP enables two hosts to establish a connection and exchange streams of data. Generally, TCP guarantees delivery of data and also guarantees that packets will be delivered in the same order in which they were sent.
IP, as noted above, is an abbreviation of Internet Protocol. IP specifies the format of packets and the addressing scheme. Most networks combine IP with Transmission Control Protocol (TCP), which establishes a virtual connection between a destination and a source.
IP allows a packet to be addressed and then it can be dropped in the system, but generally there is no direct link between the sender and the recipient. TCP/IP, the combination of TCP and IP, establishes a connection between two hosts so that they can send messages back and forth for a period of time and addresses packets so that they may be sent between the hosts established by TCP.
In some operating systems, a packet is identified only as a set of locations, or data offsets, of data stored in a medium. A packet is identified as a small block of information, or message block, which can be called an “mblk.” An mblk contains pointers to identify the start and end of a set of information which can include a packet header, packet payload, or a combination of header and payload.
Currently, when messages are to be sent in packetized form, an operating system identifies and creates one mblk at a time and sends each one to the TCP layer to be transmitted. For a large set of data, an mblk is created for each approximately 1460 byte data segment to be packetized and is sent to TCP which processes the mblk and either sends it to the IP layer or queues it onto the transmit list, depending on the amount of transmitted traffic and congestion in the available transmission channels. Once the TCP layer returns a message indicating handling in one of those ways, the sender creates the next mblk for the next data segment and sends it to TCP. The process continues until the entire message has been sent.
According to the transmission procedure, the socket layer, the TCP layer, then an IP layer, then the network interface card (NIC), handle each packet in turn until the data segment is done. While modern processing has made the individual packets move very quickly through this procedure, it can be an inefficient process when handling large messages requiring multiple packets.